草庐IT

sql - MySQL -> RESTful API

全部标签

c# - 使用 CancellationToken 取消 SQL Server 查询

我在SQLServer中有一个长时间运行的存储过程,我的用户需要能够取消它。我编写了一个小型测试应用程序,如下所示,它演示了SqlCommand.Cancel()方法工作得很好:privateSqlCommandcmd;privatevoidTestSqlServerCancelSprocExecution(){TaskFactoryf=newTaskFactory();f.StartNew(()=>{using(SqlConnectionconn=newSqlConnection("connStr")){conn.InfoMessage+=conn_InfoMessage;conn.

c# - 为什么在通用序列创建器上使用 Func<> 比使用 new() 约束快得多

考虑以下代码...在我对Windows7x64PC(Inteli73GHz)上的RELEASE(不是调试!)x86构建的测试中,我获得了以下结果:CreateSequence()withnew()took00:00:00.9158071CreateSequence()withcreator()took00:00:00.1383482CreateSequence()withnew()took00:00:00.9198317CreateSequence()withcreator()took00:00:00.1372920CreateSequence()withnew()took00:00:

c# - 使用后期绑定(bind)获取 List<T> 值

我有一个List变量,其中T在编译时未知。我需要访问value类型属性T像这样foreach(variteminitems)//itemsisList{item.value//thiswon'tcompilebecauseTisunknown}我知道在我的例子中会有value属性(property)。我怎样才能访问它? 最佳答案 如果您知道每个T都有VALUE,您可以使用dynamic而不是varforeach(dynamiciteminitems)//itemsisList{item.VALUE}

c# - 在 SQL Server 2014 中围绕带有事务的存储过程使用 TransactionScope

我正在使用C#和ADO.Net以及TransactionScope在ASP.Net应用程序中运行事务。此事务应该跨多个表保存一些数据,然后向订阅者发送电子邮件。问题:当它包含对在SQLServer2014中有自己的事务的存储过程的调用时,它是否是TransactionScope的有效使用,或者我应该删除SQL事务语句,即begintran、committran和rollbacktran语句来自在此TransactionScope中调用的存储过程>?这个场景的C#代码和存储过程的T-SQL代码都在下面提到。使用TransactionScope的C#代码:try{using(Transac

c# - C# 中的 EventHandler<TEventArgs> 线程安全?

使用我自定义的EventArgs例如:publiceventEventHandlerSampleEvent;来自msdn例如:publicclassHasEvent{//DeclareaneventofdelegatetypeEventHandlerof//MyEventArgs.publiceventEventHandlerSampleEvent;publicvoidDemoEvent(stringval){//Copytoatemporaryvariabletobethread-safe.EventHandlertemp=SampleEvent;if(temp!=null)temp

c# - 为什么 List<T> 出现 "Index was out of range"异常而不是数组?

当我初始化数组并使用索引器访问元素时,效果很好:object[]temp=newobject[5];temp[0]="bar";现在我希望同样适用于List,假设您可以通过将容量传递给构造函数来初始化它:Listtemp=newList(5);temp[0]="bar";然而,最后一行抛出以下异常:Indexwasoutofrange.Mustbenon-negativeandlessthanthesizeofthecollection为什么List会发生这种情况类型,但不是数组?由于数组只是CLR集合的较低级别抽象,那么为什么会出现此异常?原创question通过AwaisMahmo

c# - 为什么不能使用 is 运算符来区分 bool 和 Nullable<bool>?

我遇到了这个,很好奇为什么不能使用is运算符区分bool和Nullable?示例;voidMain(){booltheBool=false;NullabletheNullableBoolThatsFalse=false;NullabletheNullableBoolThatsNull=null;voidWhatIsIt(objectvalue){if(valueisbool)Console.WriteLine("It'sabool!");if(valueisNullable)Console.WriteLine("It'saNullable!");if(valueisnull)Conso

c# - 你如何在 LINQ TO SQL 中按多列分组?

如何在LINQTOSQL中按多列分组?db.Table.GroupBy(a=>a.column1.ToString()+a.column2.ToString())看起来很丑,而且性能很差,我什至不知道它是否有效。哪种方法正确? 最佳答案 尝试按匿名类型分组:groupbynew{item.Col1,item.Col2}然后您将能够访问Key.Col1等 关于c#-你如何在LINQTOSQL中按多列分组?,我们在StackOverflow上找到一个类似的问题:

c# - 无法将 IQueryable<> 转换为 IOrderedQueryable 错误

我有以下LINQ代码:varposts=(frompindb.Posts.Include("Site").Include("PostStatus")wherep.Public==falseorderbyp.PublicationTimeselectp);if(!chkShowIgnored.Checked){posts=posts.Where(p=>p.PostStatus.Id!=90);}最后一行(额外的地方)给我错误:无法将类型“System.Linq.IQueryable”隐式转换为“System.Linq.IOrderedQueryable”。我不确定这是什么意思...为什么

c# - 如何序列化 IList<T> 等接口(interface)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowtoserializeanIList?我希望序列化一个包含S类型属性的类(我们称之为IList)其中T是我定义的另一个类。当我尝试序列化类S的实例时出现异常到XML。这可以理解为XmlSerializer不知道要使用哪个具体类。有没有一种方法,希望使用属性,来指定在序列化/反序列化实例时实例化哪个具体类。我的类(class)实现S创建List的实例类(class)。下面是一些代码来说明我的示例:usingSystem;usingSystem.Xml.Serialization;usingSystem.I